/**
*  公共 js 方法存放
*  
*  wolf-yansl
*  
*/

var wolf = {
	/**验证多个参数对象是否为空null  返回true  或  false */
	isNotNullMany:function(){
		 for (var i=0; i<arguments.length; i++)
		  {
	        if(this.isNull(arguments[i])){
	        	return false;
	        }
		  } 
		 return true;
	},
	/**验证是否为空   返回true  或  false*/
	isNotNull:function(obj){
		return !(obj == undefined || obj == null || obj =="");
	},
	/**验证是否为空  返回true  或  false*/
	isNull:function(obj){
		return !wolf.isNotNull(obj);
	},
	/**验证 指定ID标签下是否存在 form 组件 input类型*/
	isInputTypeExist:function(objId,inputType){
		var index = $("#"+objId+" input:"+inputType).length;
		if(index > 0){
			return true;
		}
		return false;
	},
	/** 验证  该数据类型是否为数组类型   true 数组类型  false 不是数组类型*/
	isArray:function(data){
		if(data.constructor!=Array){
			return false;
		}
		return true;
	},
	/**验证该字符串是否为函数  true 函数  false 不是函数*/
	isFunction:function(funcName){
		if (typeof(eval(funcName)) == "function") {
            return true;
        }
		return false;
	},
	/**绑定数据*/
	append:function(objId,str){
		$("#"+objId).append(str);
	},
	/**绑定数据 并且清楚之前的数据*/
	appendClear:function(objId,str){
		wolf.delChildHtml(objId);
		wolf.append(objId,str);
	},
	/**绑定数据*/
	setVal:function(objId,str){
		$("#"+objId).val(str);
	},
	/**删除选中的元素*/
	delHtml:function(objId){
		$("#"+objId).remove();
	},
	/**删除选中的 子元素*/
	delChildHtml:function(objId){
		$("#"+objId).empty();
	},
	/**删除除第一行之外的所有行*/
	delTableNotFirst:function(objId){
		$("#"+objId+" tr:not(:first)").remove(); 
	},
	/**替换所有*/
	replace_all:function(str,str1,str2){
		var regS = new RegExp(str1,"gi"); 
		return str.replace(regS,str2);
	},
	/**统一显示与隐藏   flag:true 显示  false 隐藏 */
	batchShow:function(objArray,flag){
		
		if(objArray.constructor!=Array){
			alert('批量操作按钮只能为数组类型，否则操作失败！');
			return ;
		}
		var index = objArray.length;
		for (var i=0; i < index; i++)
	    {
			var obj = eval(objArray[i]);
			if(flag){
				$(obj).show();
			}else{
				$(obj).hide();
			}
	    }
	},
	/**复选框 全部选中  全部取消 */
	check:function(objId,flag){
		$("#"+objId).attr("checked",flag);
	},
	/**连续选中 点击标题复选框 级联选中记录复选框 */
	checkLikeSelected:function(objId,objName){
		var flag = $('#'+objId).is(':checked');
		$("input[name='"+objName+"']").attr('checked',flag);
	},
	/**获取所有选中的值 */
	checkValue:function(objName,flag){
		var checkValues = "";
		$("input[name='"+objName+"']:checked").each(function() { 
			checkValues += $(this).val()+",";
        });
		return checkValues;
	},
	
	/**设置select选中某个option*/
	option_selected:function(objId,optionVal){
		 $("#"+objId+" option[value='"+optionVal+"']").attr("selected", true);
	},
	/***获取选中option text 值 */
	option_text:function(objId,flag){
		return $("#"+objId).find("option:selected").text();

	},
	/**数组绑定数据*/
	option_binding:function(objId,optionKey,optionVal){
		var op = "<option value='"+optionKey+"'>"+optionVal+"</option>";
		wolf.append(objId, op);
	},
	form_serialize:function(objId){
		return $("#" + objId).serialize();
	},
	/**清楚form表单  objId 表单ID | notClearType 不需要清楚的类型 【:button,:submit,:reset,:hidden】 字符串类型
	 * 不包括   清楚  select  下拉内容清空
	 * */
	form_clear:function(objId,notClearType){
		$(':input','#' +objId).not(notClearType).val(''); //.removeAttr('checked').removeAttr('checked')
		$("input[type=checkbox]",'#' +objId).each(function(){
			$(this).attr("checked", false);
		});
	},
	/**解析XML
	 * str 字符串
	 * tag <xml>...</xml>....<xml></xml>重复标签
	 * callFun 回调函数
	 * 
	 * var str = "<his_msg><xml><a>1</a><b>2</b></xml><xml><a>3</a><b>4</b></xml></his_msg>"
	 * 
	 * */
	xml_taglist_analyze:function(str,tags,callFun){
		if(!wolf.isFunction(callFun)){
	    	  alert("请输入指定的函数，callFun 非函数！"); 
	     }
		$(str).find(tags).each(function(index,obj){
			alert($(obj).find("").text());
			callFun(index,obj);
		});
	},
	/**遍历数组 或 集合数据  返回每个数据对象  不符合数据类型 会提示  “数据或回调函数不符合” */
	data_foreach:function(data,callFun){
		if(!wolf.isArray(data) && !wolf.isFunction(callFun)){
			alert('数据或回调函数不符合！');
			return ;
		}
		$.each(data,function(index,obj) {   
			callFun(index,obj);
		});  
	}

};
Array.prototype.contains = function (element) {
	  
    for (var i = 0; i < this.length; i++) {
        if (this[i] == element) {
            return true;
        }
    }
    return false;
}